package cn.wolfcode.domain;

import cn.wolfcode.enums.AppointmentStatusEnums;
import cn.wolfcode.enums.NoticeLevelEnums;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.HashMap;

@Getter
@Setter
@ToString
public class Notice {
    /**
     * 编号
     */
    private Long id;

    /**
     * 公告标题
     */
    private String title;

    /**
     * 公告内容
     */
    private String content;

    /**
     * 创建人
     */
    @TableField("creatorId")
    private Employee creator;

    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date creatTime;

    /**
     * 公告数量
     */
    private Integer count;

    /**
     * 公告级别
     */
    private Integer level;

    /**
     * 发布状态
     */
    private Boolean status;

    /**
     * 已读未读状态
     */
    private boolean read;

    /**
     * 距离发布时间时间
     */
    private String noticeTime;

    //获取公告级别(在枚举里)
    public String getLevelName() {
        return NoticeLevelEnums.findName(level);
    }


    public String toJson() {
        HashMap<Object, Object> map = new HashMap<>();
        map.put("id", id);
        map.put("title", title);
        map.put("content", content);
        map.put("level", level);
        return JSON.toJSONString(map);
    }
}